Conventionally, in the computer-related arts, a network is an arrangement of physical computer systems configured to communicate with each other. In some cases, the physical computer systems include virtual machines, which may also be configured to interact with the network (i.e., communicate with other physical computers and/or virtual machines in the network). Many different types of networks exist, and a network may be classified based on various aspects of the network, such as scale, connection method, functional relationship of computer systems in the network, and/or network topology.
Regarding connection methods, a network may be broadly categorized as wired (using a tangible connection medium such as Ethernet cables) or wireless (using an intangible connection medium such as radio waves). Different connection methods may also be combined in a single network. For example, a wired network may be extended to allow devices to connect to the network wirelessly. However, core network components such as routers, switches, and servers are generally connected using physical wires. Ethernet is defined within the Institute of Electrical and Electronics Engineers (IEEE) 802.3 standards, which are supervised by the IEEE 802.3 Working Group.
To create a wired network, computer systems must be physically connected to each other. That is, the ends of physical wires (for example, Ethernet cables) must be physically connected to network interface cards in the computer systems forming the network. To reconfigure the network (for example, to replace a server or change the network topology), one or more of the physical wires must be disconnected from a computer system and connected to a different computer system.
Further, when transferring data between computer systems in a network, a packet often passes through one or more computer systems for which the packet is not destined. These computer systems may be thought of as “forwarding nodes.” For example, routers, switches, and load balancers generally act as forwarding nodes. Many different types of forwarding nodes exist. For a forwarding node to successfully forward the packet, the forwarding node typically examines the destination Internet Protocol (IP) address included in the packet, and performs a route lookup using the IP address to determine where to forward the packet. The route lookup is typically performed for every packet the forwarding node receives, which can be very resource-intensive depending on the amount of network traffic being processed by the forwarding node.